// 负责管理自定义命令

export const imageerror = {
  // 指令对象，会当前的dom元素插入到节点之后执行
  inserted(dom, options) {
    // options 是指令中变量的解释，其中有一个属性叫做 value
    // dom 表示当前指令作用的dom对象
    // dom 认为此事就是图片
    dom.src = dom.src || options.value; // 初始化的时候，判断是否有值，如果有则赋值，如果没有，就进行默认赋值
    // 监听img标签错误事件，因为图片加载失败，会触发 onerror事件
    dom.onerror = function() {
      // 当图片加载失败后，会指令配置到默认图片
      dom.src = options.value;
    };
  },
  // 这个函数跟 inserted 一样，也是一个钩子函数
  componentUpdated(dom, options) {
    // inserted 只会执行一次
    // 组件初始化，一旦更新就会再进入 inserted 函数，会进去 componentUpdated
    dom.src = dom.src || options.value;
  }
};
